const bcrypt = require('bcryptjs');

// 存储在服务器中的哈希值
const storedHash = '$2a$10$mLK.rrdlvx9DCFb6Eck1t.TlltnGulepXnov3bBp5T2TloO1MYj52';
const testPassword = 'admin123';

// 测试密码验证
console.log(`测试密码: ${testPassword}`);
console.log(`存储的哈希值: ${storedHash}`);

// 生成新的哈希值进行比较
bcrypt.hash(testPassword, 10).then(newHash => {
  console.log(`新生成的哈希值: ${newHash}`);
  
  // 验证密码
  bcrypt.compare(testPassword, storedHash).then(isMatch => {
    console.log(`密码验证结果: ${isMatch}`);
    
    if (!isMatch) {
      console.log('密码验证失败，可能是存储的哈希值不正确');
      
      // 尝试生成一个新的正确的哈希值
      bcrypt.genSalt(10, (err, salt) => {
        bcrypt.hash(testPassword, salt, (err, correctHash) => {
          console.log(`正确的哈希值应该是: ${correctHash}`);
          console.log('请更新服务器中的哈希值');
        });
      });
    } else {
      console.log('密码验证成功，存储的哈希值是正确的');
    }
  });
});